Streaming is the process where the content consumed by a client is sent in small pieces to the client as opposed to downloading, where the whole multimedia file is transferred to the client before playing. Existing streaming protocols include a Real-Time Transport Protocol (RTP) or a MPEG transport stream under user datagram protocol (MPEG TS/UDP). On the other hand, download is generally performed using a hypertext transfer protocol (HTTP protocol).
In entertainment and communications systems, RTSP Protocol (Real-Time Transport Streaming) is provided as a network control protocol for controlling streaming media servers. Transmission of streaming data by the RTSP servers is done via the Real-time Transport Protocol (RTP). RTSP defines control sequences useful in controlling playback of streaming data. The control sequences are defined in the RFC 2326 standard by the Internet Engineering Task Force (IETF).
The streaming session is initiated by the client towards the streaming server. Real-time streaming has become increasingly popular for transmitting TV-channels via the internet (IPTV). However, means have to be provided to cope with changing bandwidth rates between the multimedia provider and the client. Otherwise, “freezing” of multimedia streams would occur, which is generally considered as a nuisance by the customer.
Various attempts have been made in order to provide a reliable streaming session for the client so as to avoid freezing of the multimedia content due to changing bandwidth rates.
In US 2010/0049865 A1 a method of packetizing a media stream into transport packets is shown which includes determining whether application data units are to be conveyed in a first transmission session and a second transmission session. Upon a determination that the application data units are to be conveyed in the first transmission session and the second transmission session, packetizing at least a part of a first media sample in a first packet and at least a part of a second media sample in a second packet, the first media sample and the second media sample having a determined decoding order. Finally, signalling first information to identify the second media sample, the first information being associated with the first media sample is achieved.
In communication theory, it is foreseen that using several networks or links either concurrently or serially provides advantages regarding not only the quality of service but the scalability. One technology that can take benefits from the multilink environment is for instance scalable video coding.
SVC (Scalable Video Coding) is a H264 based standard that provides a layered coding structure in which the base layer is fully H264 AVC compatible and enhancement layers depend from the base layer or other enhancement layers. Scalability domains are time, quality and spatial. Therefore enhancement layers can be coded to enhance the frame rate, the quality for a given resolution, and the resolution of a video sequence.
If one compares, regarding a particular quality, frame rate and resolution, a H264 AVC sequence with an equivalent encoded with SVC using two or more layers, it has been shown that the overhead introduced by SVC requires around 10 and 15% more bandwidth.
The SVC stream that is multicast/broadcast is composed with different layers for example three layers, which are the base layer and two enhancement layers, for addressing e.g. three different terminal resolutions. If one compares the SVC stream with the same service using conventional H264 AVC coding, this would conduct to simulcast, i.e. three different streams for each resolution, and an overhead for the H264 solution that is greater than 100%.
In hybrid or combined networking the idea is about sending some layers, e.g. the base layer, through a broadcast pipe and the other layers, e.g. enhancement layer(s), through point to point.
This conduct to a streaming session that is split over two networks/links and recombined in the receiver.
When splitting a stream into two sub streams for later recombination, there is a need to save in some way the original order of the stream packets. When splitting e.g. a RTP stream into two sub-streams, each sub-stream, transmitted over a particular link/network, must be compliant with RTP and thus the sequence number should be usable at the receiver side to detect reordered or missing packets. Therefore, for each link and sub-stream, the RTP packets are renumbered and the original sequence number is lost.
For recombining the original stream one may rely on RTP timestamp. However the original stream could have several RTP packets having the same timestamp but having a sequence of presentation to the decoder to be respected.
Accordingly, there is a need in the art to provide a method and a system for multiplexed streaming of multimedia content that respectively overcome—at least partially—the problems associated with the prior art systems.